const path = require('path')

// 可以把页面放到内存里面
const htmlWebpackPlugin = require('html-webpack-plugin')

const VueLoaderPlugin = require('vue-loader/lib/plugin')

// 配置文件，通过Node的模块操作，向外暴露一个配置对象
module.exports = {
    // 入口
    entry: path.join(__dirname, './src/main.js'),
    output: {
        path: path.join(__dirname, './dist'),
        filename: 'bundle.js'
    },
    plugins: [
        new htmlWebpackPlugin({
            template: path.join(__dirname, './src/index.html'),
            filename: 'index.html'
        }),
        new VueLoaderPlugin()
    ],
    module: {
        rules: [
            { test: /\.css$/, use: ['style-loader', 'css-loader']},
            { test: /\.less$/, use: ['style-loader', 'css-loader', 'less-loader']},
            { test: /\.scss$/, use: ['style-loader', 'css-loader', 'sass-loader']},
            { test: /\.jpg|png|gif|bmp|jpeg$/, use: 'url-loader?limit=2174'},
            { test: /\.(ttf|woff2|woff|eot|svg)$/, use: 'url-loader'}, // 处理 字体文件
            { test: /\.js$/, use: 'babel-loader', exclude: /node_modules/},
            { test: /\.vue$/, use: 'vue-loader'}
        ]
    }/*,
    resolve: {
        alias: {
            "vue$": "vue/dist/vue.js"
        }
    }*/
}